package com.xoa.humanResource.service.Impl;

import com.xoa.humanResource.dao.IntegralMapper;
import com.xoa.humanResource.model.Integral;
import com.xoa.humanResource.service.IntegralService;
import com.xoa.model.attend.Attend;
import com.xoa.util.ToJson;
import com.xoa.util.page.PageParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Service
public class IntegralServiceImpl implements IntegralService {

    @Autowired
    IntegralMapper integralMapper;

    /**
     * 左春晖
     * 说明：添加
     */
    @Override
    public ToJson<Integral> add(Integral integral) {
        ToJson<Integral> json = new ToJson<Integral>();
        try {
            integralMapper.insertSelective(integral);
            json.setFlag(0);
            json.setMsg("ok");
        }catch (Exception e){
            e.printStackTrace();
            json.setFlag(1);
        }
        return json;
    }

    /**
     * 左春晖 18.3.26
     * 说明：删除
     */
    @Override
    public ToJson<Integral> delete(Integer id) {
        ToJson<Integral> json = new ToJson<Integral>();
        try {
            integralMapper.deleteByPrimaryKey(id);
            json.setFlag(0);
            json.setMsg("ok");
        }catch (Exception e){
            e.printStackTrace();
            json.setFlag(1);
        }
        return json;
    }

    /**
     * 左春晖
     * 根据ID查询出编辑
     * @param id
     * @return
     */
    @Override
    public ToJson<Integral> select(Integer id) {
        ToJson<Integral> json = new ToJson<Integral>();
        try {
            Integral integral = integralMapper.selectByPrimaryKey(id);
            json.setObject(integral);
            json.setFlag(0);
            json.setMsg("ok");
        }catch (Exception e){
            e.printStackTrace();
            json.setFlag(1);
        }
        return json;
    }

    /**
     * 左春晖
     * 说明：编辑更新积分
     */
    @Override
    public ToJson<Integral> update(Integral integral) {
        ToJson<Integral> json = new ToJson<Integral>();
        try {
            integralMapper.updateByPrimaryKeySelective(integral);
            json.setFlag(0);
            json.setMsg("ok");
        }catch (Exception e){
            e.printStackTrace();
            json.setFlag(1);
        }
        return json;
    }
    /**
     * 左春晖
     * 查询直接对象的考勤信息.
     */
    @Override
    public ToJson<Integral> select(Integer page, Integer pageSize, boolean useFlag) {
        ToJson<Integral> json = new ToJson<Integral>();
        try {
            Map<String,Object> maps = new HashMap<String, Object>();
            PageParams pageParams = new PageParams();
            pageParams.setPage(page);
            pageParams.setPageSize(pageSize);
            pageParams.setUseFlag(useFlag);
            maps.put("page",pageParams);
            List<Integral> list = integralMapper.selectIntegral(maps);
            json.setTotleNum(pageParams.getTotal());
            json.setObj(list);
            json.setFlag(0);
            json.setMsg("ok");
        }catch (Exception  e){
            e.printStackTrace();
            json.setFlag(1);
        }
        return json;

    }


}
